package com.agent.platform.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.util.Map;

/**
 * 创建Agent请求DTO
 */
@Data
@Schema(description = "创建Agent请求")
public class CreateAgentRequest {

    @Schema(description = "Agent唯一标识符", example = "my-agent-1", required = true)
    @NotBlank(message = "agentId不能为空")
    private String agentId;

    @Schema(description = "上下文管理器URL", example = "http://localhost:4000")
    private String contextManagerUrl;

    @Schema(description = "工具管理器URL", example = "http://localhost:4001")
    private String toolManagerUrl;

    @Schema(description = "模型选择器URL", example = "http://localhost:4002")
    private String modelSelectorUrl;

    @Schema(description = "控制配置参数", example = """
        {
          "maxSteps": 10,
          "maxFailures": 3,
          "enableToolUsage": true
        }
        """)
    private Map<String, Object> controlConfig;

    @Schema(description = "Agent元数据", example = """
        {
          "description": "My first agent",
          "environment": "production"
        }
        """)
    private Map<String, Object> metadata;
}
